#!/usr/bin/env bash
# Processing options & parameters with getopts

# getopts 命令知道何时停止处理选项，并将参数留给你处理。在 gteopts 处理每个选项时，它会将 OPTIND 环境变量值增加1。
# 在 getopts 完成处理时，你可以使用 shift 命令和 OPTIND 值来移动参数。

#./test20.sh -a -b test1 -d test2 test3 test4

echo
while getopts :ab:cd opt; do
	case "$opt" in
	a) echo "Found the -a option" ;;
	b) echo "Found the -b option, with value $OPTARG" ;;
	c) echo "Found the -c option" ;;
	d) echo "Found the -d option" ;;
	*) echo "Unknown option: $opt" ;;
	esac
done

shift $((OPTIND - 1))

echo
for param in "$@"; do
	echo "Parameter $count: $param"
	count=$((count + 1))
done
